"""
selenium - 自动化测试的框架（用Python程序操控浏览器）
    ~ Selenium IDE：浏览器插件，录制用户操作，重复播放
    ~ WebDriver：用Python程序驱动浏览器操作
    ~ Remote Control：控制多个设备
"""
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait

chrome = webdriver.Chrome()
chrome.get('https://www.baidu.com')
# 通过选择器获取页面上的文本框并模拟输入搜索关键字
wd_input = chrome.find_element_by_css_selector('input[name=wd]')
wd_input.send_keys('骆昊')
wd_input.send_keys(Keys.RETURN)
try:
    # 等待搜索结果加载完成（页面底部出现分页按钮）
    WebDriverWait(chrome, 5).until(
        expected_conditions.presence_of_element_located((By.ID, 'page'))
    )
    # 生成屏幕快照
    chrome.save_screenshot('res/baidu.png')
finally:
    chrome.quit()
